import axios from 'axios';
import config from '@config';

const instance = axios.create({
  // 开发环境将代理地址拼接此处的 api
  // 生产环境使用配置文件中的属性 RENDERER_VUE_APP_API_BASEURL
  baseURL: config.api
});

// 请求拦截器
instance.interceptors.request.use(
  config => {
    const token = localStorage.getItem('TOKEN')
    if(token) config.headers['Authorization'] = token
    return config
  },
    err => {
    return Promise.reject(err)
  }
)

instance.interceptors.response.use(
  res => {
    // 2xx 类的状态码都会触发本回调函数
    // 在返回响应数据前做点什么
    return res.data // 返回开发者后台响应的结果，而非 axios 的响应结果
  },
  err => {
    return Promise.reject(err)
  }
)

export default instance;
